<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  const str = '{"lyric":"[00:00.000] 作词 : 无\n[00:00.209] 作曲 : 拼音师\n[00:00.418]接 化 发\n[00:15.418]接 化 发\n[00:46.417]\n[00:46.918]三十多岁年轻人\n[00:48.335]上来就是左刺拳\n[00:50.085]一个右鞭腿\n[00:51.590]同时一个左正蹬\n[00:53.834]我当时捂着眼\n[00:55.585]我当时大意了没有闪\n[00:58.085]笑一下\n[00:59.336]他突然袭击我\n[01:00.836]偷袭\n[01:01.335]啪 一个右鞭腿\n[01:03.086]啪 一个左正蹬\n[01:05.086]啪 一个连五鞭\n[01:06.835]点到为止没打他\n[01:08.585]啪 一个打骨折\n[01:10.584]啪 一个颈椎病\n[01:12.335]啪 一个接裸绞\n[01:14.085]耗子尾汁讲武德\n[01:16.085]接 化 发\n[01:23.584]接 化 发\n[01:32.835]接 化 发\n[01:34.586]\n[01:41.835]\n[02:04.085]出拳如闪电\n[02:06.085]我打一个连五鞭\n[02:07.752]速度这么快\n[02:08.751]靠的是\n[02:09.502]颈椎病和肩周炎\n[02:11.503]一鞭两鞭三鞭\n[02:13.251]四鞭五鞭\n[02:14.503]上来以后\n[02:15.251]一鞭两鞭三鞭\n[02:16.753]四鞭五鞭\n[02:18.002]就这么简单\n[02:18.752]三十多岁年轻人\n[02:20.503]上来就是左刺拳\n[02:22.503]一个右鞭腿\n[02:24.001]同时一个左正蹬\n[02:26.252]我当时捂着眼\n[02:28.002]我当时大意了没有闪\n[02:30.503]笑一下\n[02:31.751]他突然袭击我\n[02:33.001]偷袭\n[02:33.751]啪 一个右鞭腿\n[02:35.501]啪 一个左正蹬\n[02:37.251]啪 一个连五鞭\n[02:39.165]点到为止没打他\n[02:40.914]啪 一个打骨折\n[02:42.914]啪 一个颈椎病\n[02:44.664]啪 一个接裸绞\n[02:46.663]耗子尾汁讲武德\n[02:48.414]接 化 发\n[02:55.820]接 化 发\n[03:05.070]接 化 发\n"}'

  function fn(str) {
    const arr = str.split('\n');
    const res = arr.map(item => {
      console.log(item);
      const [, time = '', text] = item.match(/\[(.*)\](.*)/) || []
      return {
        minutes: time.split(':')[0],
        seconds: time.split(":")[1],
        text,
      }
    })
    return res;
  } 

  const arr = str.split('\n');
  // console.log(arr);
  const res = arr.map(item => {
    console.log(item);
    const [, time = '', text] = item.match(/\[(.*)\](.*)/) || []
    // console.log(time,text);
    return {
      minutes: time.split(':')[0],
      seconds: time.split(":")[1],
      text,
    }
  })
</script>

</html>